home *** CD-ROM | disk | FTP | other *** search
/ PC Player 2004 May / pc player 2004-05.iso / Demos / FarCry / Data1.cab / _39A412DC12A142AAB7F89BE38470DA6A < prev    next >
Encoding:
Text File  |  2004-01-06  |  1.2 KB  |  36 lines

  1.  
  2.       #include "../CGVPMacro.csi"
  3.  
  4.       VertAttributes { POSITION_3 TEXCOORD0_2 TEXCOORD1_2 TANG_3X3 }
  5.       
  6.       VS20Only
  7.       
  8.       MainInput { VIEWPROJ_MATRIX, CAMERA_POS, uniform float4x4 ModelMatrix }
  9.       DeclarationsScript
  10.       {
  11.         IN_T0_T1_TANG
  12.         OUT_T0_T1_T2_T3_T4_T5_T6_T7
  13.       }
  14.       PositionScript = PosCommon                 
  15.       CoreScript
  16.       {
  17.         OUT.Tex0.xy = IN.TexCoord0.xy;  // Diffuse
  18.         OUT.Tex0.zw = IN.TexCoord0.xy;  // Bump
  19.         OUT.Tex1.xy = IN.TexCoord0.xy;  // Gloss
  20.         OUT.Tex2.xy = IN.TexCoord1.xy;  // LM
  21.         OUT.Tex3.xy = IN.TexCoord1.xy;  // LMDir
  22.  
  23.         TANG_MATR
  24.  
  25.         float3 viewVec = CameraPos.xyz - vPos.xyz;
  26.         OUT.Tex4.xyz = mul(objToTangentSpace, viewVec.xyz);
  27.  
  28.         float3 worldTangentS = mul((const float3x3)ModelMatrix, objToTangentSpace[0]);
  29.         float3 worldTangentT = mul((const float3x3)ModelMatrix, objToTangentSpace[1]);
  30.         float3 worldNormal   = mul((const float3x3)ModelMatrix, objToTangentSpace[2]);
  31.  
  32.           OUT.Tex5.xyz = worldTangentS;
  33.           OUT.Tex6.xyz = worldTangentT;
  34.           OUT.Tex7.xyz = worldNormal;
  35.       }
  36.